Skip to content

Conversation

@minggangw
Copy link
Member

@minggangw minggangw commented May 26, 2025

This PR expands CI to run builds and tests across all LTS and rolling ROS2 distributions on the develop branch.

  • Converted Windows and Linux x64 workflows from a single-distro job to a matrix over humble, jazzy, kilted, and rolling
  • Removed the dynamic identify-ros-distro job in favor of the matrix, updating all distro references to use matrix.ros_distribution
  • Added a new Linux ARM64 workflow mirroring the x64 matrix

Fix: #1152

@coveralls
Copy link

coveralls commented May 26, 2025

Coverage Status

coverage: 84.818% (+0.03%) from 84.784%
when pulling 8156bcd on minggangw:enable-active-lts-on-develop
into c4dbb8d on RobotWebTools:develop.

@minggangw minggangw requested a review from Copilot May 26, 2025 08:00
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR expands CI to run builds and tests across all LTS and rolling ROS2 distributions on the develop branch.

  • Converted Windows and Linux x64 workflows from a single-distro job to a matrix over humble, jazzy, kilted, and rolling
  • Removed the dynamic identify-ros-distro job in favor of the matrix, updating all distro references to use matrix.ros_distribution
  • Added a new Linux ARM64 workflow mirroring the x64 matrix

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
.github/workflows/windows-build-and-test.yml Replaced distro job with matrix; updated distro refs
.github/workflows/linux-x64-build-and-test.yml Switched to matrix for distributions; removed prep job
.github/workflows/linux-arm64-build-and-test.yml New ARM64 workflow matching the distro matrix
Comments suppressed due to low confidence (1)

.github/workflows/windows-build-and-test.yml:72

  • This comment refers to foxy, which is no longer part of the matrix. It should be updated or removed to reflect the current set of tested distributions.
# On the windows/foxy combination the Eclipse CycloneDDS RMW implementation is used to workaround 

Comment on lines 32 to 42
- docker_image: ubuntu:jammy
ros_distribution: humble
# Jazzy Jalisco (May 2024 - May 2029)
- docker_image: ubuntu:noble
ros_distribution: jazzy
# Kilted Kaiju (May 2025 - Dec 2026)
- docker_image: ubuntu:noble
ros_distribution: kilted
# Rolling Ridley (No End-Of-Life)
- docker_image: ubuntu:noble
ros_distribution: rolling
Copy link

Copilot AI May 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The docker_image matrix entries are unused in this Windows job (no container is launched). Consider removing them to reduce confusion and keep the matrix focused on actual dimensions.

Suggested change
- docker_image: ubuntu:jammy
ros_distribution: humble
# Jazzy Jalisco (May 2024 - May 2029)
- docker_image: ubuntu:noble
ros_distribution: jazzy
# Kilted Kaiju (May 2025 - Dec 2026)
- docker_image: ubuntu:noble
ros_distribution: kilted
# Rolling Ridley (No End-Of-Life)
- docker_image: ubuntu:noble
ros_distribution: rolling
- ros_distribution: humble
# Jazzy Jalisco (May 2024 - May 2029)
- ros_distribution: jazzy
# Kilted Kaiju (May 2025 - Dec 2026)
- ros_distribution: kilted
# Rolling Ridley (No End-Of-Life)
- ros_distribution: rolling

Copilot uses AI. Check for mistakes.
@minggangw minggangw requested a review from Copilot May 26, 2025 08:40
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Adds comprehensive CI support and badge updates to include all current ROS 2 LTS distributions (Humble, Jazzy, Kilted) plus Rolling on the develop branch.

  • Unifies status badges in README.md into one row covering all targeted distros.
  • Refactors Windows and Linux x64 workflows to use a distribution matrix instead of a single‐distro setup.
  • Introduces a new Linux arm64 workflow mirroring the x64 setup for all ROS 2 distros.

Reviewed Changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
README.md Consolidate multiple distro badges into a single table row for Rolling + all LTS.
.github/workflows/windows-build-and-test.yml Replace identify-ros-distro job with a matrix over ros_distribution.
.github/workflows/linux-x64-build-and-test.yml Simplify matrix, use matrix.ros_distribution, drop legacy prep job.
.github/workflows/linux-arm64-build-and-test.yml New ARM64 CI workflow for the same set of ROS 2 distributions.

Comment on lines +42 to +48
- docker_image: ubuntu:noble
ros_distribution: jazzy
# Kilted Kaiju (May 2025 - Dec 2026)
- docker_image: ubuntu:noble
ros_distribution: kilted
# Rolling Ridley (No End-Of-Life)
- docker_image: ubuntu:noble
Copy link

Copilot AI May 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Docker image tag ubuntu:noble is not a valid Ubuntu release; this will cause the container step to fail. Use a supported tag such as ubuntu:20.04 or ubuntu:22.04 (e.g., ubuntu:jammy).

Suggested change
- docker_image: ubuntu:noble
ros_distribution: jazzy
# Kilted Kaiju (May 2025 - Dec 2026)
- docker_image: ubuntu:noble
ros_distribution: kilted
# Rolling Ridley (No End-Of-Life)
- docker_image: ubuntu:noble
- docker_image: ubuntu:jammy
ros_distribution: jazzy
# Kilted Kaiju (May 2025 - Dec 2026)
- docker_image: ubuntu:jammy
ros_distribution: kilted
# Rolling Ridley (No End-Of-Life)
- docker_image: ubuntu:jammy

Copilot uses AI. Check for mistakes.
Comment on lines 42 to 48
- docker_image: ubuntu:noble
ros_distribution: jazzy
# Kilted Kaiju (May 2025 - Dec 2026)
- docker_image: ubuntu:noble
ros_distribution: kilted
# Rolling Ridley (No End-Of-Life)
- docker_image: ubuntu:noble
Copy link

Copilot AI May 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Docker image tag ubuntu:noble is invalid and will break the ARM64 workflow. Replace it with a valid Ubuntu tag like ubuntu:22.04 (jammy) to match the Humble setup.

Suggested change
- docker_image: ubuntu:noble
ros_distribution: jazzy
# Kilted Kaiju (May 2025 - Dec 2026)
- docker_image: ubuntu:noble
ros_distribution: kilted
# Rolling Ridley (No End-Of-Life)
- docker_image: ubuntu:noble
- docker_image: ubuntu:22.04
ros_distribution: jazzy
# Kilted Kaiju (May 2025 - Dec 2026)
- docker_image: ubuntu:22.04
ros_distribution: kilted
# Rolling Ridley (No End-Of-Life)
- docker_image: ubuntu:22.04

Copilot uses AI. Check for mistakes.
Comment on lines 37 to 49
include:
# Humble Hawksbill (May 2022 - May 2027)
- docker_image: ubuntu:jammy
ros_distribution: humble
# Jazzy Jalisco (May 2024 - May 2029)
- docker_image: ubuntu:noble
ros_distribution: jazzy
# Kilted Kaiju (May 2025 - Dec 2026)
- docker_image: ubuntu:noble
ros_distribution: kilted
# Rolling Ridley (No End-Of-Life)
- docker_image: ubuntu:noble
ros_distribution: rolling
Copy link

Copilot AI May 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[nitpick] The include blocks for different distributions are duplicated almost identically across both x64 and ARM64 workflows. Consider extracting this into a reusable workflow or template to reduce duplication and ease future updates.

Suggested change
include:
# Humble Hawksbill (May 2022 - May 2027)
- docker_image: ubuntu:jammy
ros_distribution: humble
# Jazzy Jalisco (May 2024 - May 2029)
- docker_image: ubuntu:noble
ros_distribution: jazzy
# Kilted Kaiju (May 2025 - Dec 2026)
- docker_image: ubuntu:noble
ros_distribution: kilted
# Rolling Ridley (No End-Of-Life)
- docker_image: ubuntu:noble
ros_distribution: rolling
include: ${{ fromJson(needs.shared-matrix.outputs.matrix) }}

Copilot uses AI. Check for mistakes.
@minggangw minggangw merged commit 2b5711b into RobotWebTools:develop May 26, 2025
18 of 20 checks passed
minggangw added a commit that referenced this pull request Jun 6, 2025
This PR expands CI to run builds and tests across all LTS and rolling ROS2 distributions on the develop branch.

- Converted Windows and Linux x64 workflows from a single-distro job to a matrix over `humble`, `jazzy`, `kilted`, and `rolling`
- Removed the dynamic identify-ros-distro job in favor of the matrix, updating all distro references to use `matrix.ros_distribution`
- Added a new Linux ARM64 workflow mirroring the x64 matrix

Fix: #1152
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Verify PRs on develop branch against all ROS2 LTS release

2 participants